

import re, httplib

functions = {}
def dispatch(func): 
    functions[func.__name__] = func
    return func


re_nick = re.compile('<title>Usuarios - (.*?) - MediaVida</title>',re.DOTALL)
re_nombre = re.compile("<b>Nombre <font color='#B22400'>.:</font></b>(.*?)<br>", re.DOTALL)
re_ciudad = re.compile("<b>Ciudad <font color='#B22400'>.:</font></b>(.*?)<br>", re.DOTALL)
re_postsforo = re.compile("<b>Posts en el foro <font color='#B22400'>.:</font></b> (\d*?)<br>", re.DOTALL)
re_visitas = re.compile("<b>Visitas <font color='#B22400'>.:</font></b> (\d*?)<br><br>", re.DOTALL)
re_firmas = re.compile("Libro de firmas</a></b> <b><font color='#B22400'>.:</font></b> (\d*?)	</td>", re.DOTALL)
re_info = re.compile("<td colspan='2' align='justify' valign='top' class=\"main_fixed\">(.*?)<td align='left' valign='top' class=\"main\" style=\"padding: 0px\">", re.DOTALL)
re_contactos = re.compile("<td width=\"45%\" style=\"padding: 3px 3px 3px 7px\">(.*?)&nbsp;</td></tr>	</table>", re.DOTALL)

@dispatch
def strip_tags(value):
    "Return the given HTML with all tags stripped."
    return re.sub(r'&nbsp;',' ',re.sub(r'<[^>]*?>', '', value))



def fetchProfile(id):
	conn = httplib.HTTPConnection("www.mediavida.com")
	conn.request("GET", '/perfil.php?id=' + str(id))

	resp = conn.getresponse()
	s = resp.read()
	conn.close()

	return s


#print getattr(None, 'fetchProfile');
#print globals()
print functions


'''
content = fetchProfile(1)

nick = re_nick.search(content).groups()[0]
print 'nick: %s' % nick
nombre = re_nombre.search(content).groups()[0]
print 'nombre %s' % nombre
ciudad = re_ciudad.search(content).groups()[0]
print 'ciudad %s' % ciudad
postsforo = re_postsforo.search(content).groups()[0]
print 'posts foro %s' % str(postsforo)
visitas = re_visitas.search(content).groups()[0]
print 'visitas %s' % str(visitas)
firmas = re_firmas.search(content).groups()[0]
print 'firmas %s' % str(firmas)
info = re_info.search(content).groups()[0]
print 'info %s' % str(strip_tags(info))
contactos = re_contactos.search(content).groups()[0]
print 'contactos %s' % str(strip_tags(contactos))
'''




